Many modern software systems are configured to synchronize data between multiple devices so that a user has a consistent experience on each device. For example, content libraries can be synchronized between devices so that the user sees the same content library on each of the user's devices. Similarly, communication applications (e.g., chat systems, email applications, etc.) can be synchronized between user devices so that the state of the applications on each user device is consistent with other user devices. To maintain a consistent state between devices, state data needs to be shared between user devices. The state data can be transmitted between devices using state messages. However, sharing state data between devices can cause many state messages to be generated, transmitted, and/or stored thereby consuming limited resources of the computing devices configured to synchronize the state data.